19. While 和 For 循环

Python vs. C++ While

下面,你会看到一个 Python while 循环与 C++ while循环对比的例子。它们非常相似!

该示例以 elapsed_time 变量中的整数 15 开始。每次迭代,整数减 1。一旦 elapsed_time 达到 0,程序即离开 while 循环。

普通的 while 语句是这样的:

while (<some criteria>) {
    statement_1;
    statement_2;
    statement_3;
    ....etc
}

Python vs. C++ For 循环

for 循环语法在 Python 和 C++ 中也非常相似。

下面的例子很像 while 循环,区别在于 count 变量在增加而不是减少。

有一点需要注意的是,Python 如何迭代 i 变量,以及 C++ 如何迭代。

对于 Python,迭代器是这样定义的:

i in range(0, elapsed_time)

Python 的 range() 函数生成一个数字列表,在本例中,列表为

[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]

然后,Python 将这些值依次分配给 i 变量,直到列表末尾。

对于 C++,迭代代码为:

(int i = 0; i < elapsed_time; i++) 

首先,声明变量 i 并分配一个值(在本例中为零)。然后,for 循环检查 if

i < elapsed_time

如果为 true,那么 i 将增加 1,for 循环中的代码继续运行。

i =14

时,for 循环最后一次运行。代码检查确定 14 小于 15,将 i 增加到 15,并在循环中运行代码。然后代码检查 15 是否小于 15。结果为 false,因此 for 循环不再运行。

游乐场 - for 循环

本游乐场专门针对 for 循环编程。注释中,我们有一个上手建议,你可以对比你的代码与 solution.cpp 中的参考答案。

Start Quiz:

#include <iostream>

int main() {
    
    //TODO: Use this as a playground to write a for loop and if statements
    // in the same program.
    
    // For example, write a for loop that iterates from 0 to 80.
    // If the iterator is greater than or equal to 0 but less than 10, 
    //      output the phrase 'slow'
    // If the iterator is between 10 inclusive
    //      and less than 30, output the phrase 'medium'
    // If the iterator is between 30 inclusive and 70, output the phrase 'fast'
    // If the iterator is greater than 70 inclusive, output the phrase 'too fast'
    
    return 0;
}
#include <iostream>

int main() {
    
    for (int i = 0; i < 80; i++) {
        if (i < 10) {
            std::cout << "slow" << std::endl;
        }
        else if (i < 30) {
            std::cout << "medium" << std::endl;
        }
        else if (i < 70) {
            std::cout << "fast" << std::endl;
        }
        else {
            std::cout << "too fast" << std::endl; 
        }
        
    }
    
    
    return 0;
}